Large-scale, network-based computing represents a paradigm shift from traditional client-server computing relationships. With large-scale, network-based service platforms (e.g., data centers), customers are able to leverage shared resources on demand by renting resources that are owned by third parties and that reside “in the cloud.” With these resources, customers of the platform are able to launch and maintain large applications without actually owning or servicing the underlying infrastructure necessary for these applications. As a result, network-based service platforms have expanded the class of individuals and companies able to effectively compete in the realm of computing applications.
A network application typically comprises one or more computer instances, each of which may be a physical instance or a virtual instance. As physical and/or virtual computers are instantiated or allocated, they are associated with numeric network addresses. As an example, network addresses may comprise Internet Protocol Version 4 (IPv4) addresses, which consist of a set of four octets in the format xxx.xxx.xxx.xxx.
In a network-based service platform, computer instances, also referred to as machine instances, may be dynamically created and destroyed. For example, an existing instance may be destroyed and replaced by a new instance. However, the new instance may be assigned a network address that is different than the network address of the instance that has just been destroyed.
The Internet uses a public network naming resolution service, referred to as the domain naming system (DNS), so that requesting clients may reference network entities by descriptive domain names rather than by numeric addresses. Thus, when a machine instance of a network application is replaced, resulting in a different numeric network address, the DNS system may be updated with the new network address so that future communications to a particular domain name are directed to the correct network address.
Unfortunately, DNS updates tend to propagate very slowly through the DNS system, and take can as long as 24 hours to fully propagate. In the meantime, a network name may continue to be associated with its old numeric address, and network requests to that address may be unfulfilled. Even worse, situations may arise in which the old address is assigned to an instance of a different customer within a network-based service platform, resulting in network requests being misdirected to network applications or sites that are unrelated to the original request.
Although mechanisms are available for dealing with this issue, such mechanisms typically require a degree of forethought and planning. In many situations, customers of network-based service platforms fail to recognize this potential issue until a problem arises, when there are few solutions other than waiting for full DNS propagation.